package com.pxst.internalReports.entity;

import cn.afterturn.easypoi.excel.annotation.Excel;
import io.swagger.models.auth.In;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author Chrissy
 * 内部转账汇出报表实体
 */
@Data
@Accessors(chain = true)
public class InternalTransferExcelEntity implements Serializable {
    /**
     * 内转Id
     */
    @Excel(name = "Id", width = 16)
    private Long id;


    /**
     * "type 转移类型
     * 1 FI to FO
     * 2 FI to FX
     * 3 FI to TR
     * 4 TR to FO
     * 5 TR to FX""
     * BS200"
     */
    @Excel(name = "Type", width = 10, replace = {"FI to FO _1", "FI to FX _2", "FI to TR _3", "TR to FO _4", "TR to FX _5"})
    private Integer type;

    /**
     * 银行卡ID (from)
     */
    @Excel(name = "From", width = 11)
    private Long fromBankCardId;

    /**
     * 银行卡ID (to)
     */
    @Excel(name = "To", width = 13)
    private Long toBankCardId;

    /**
     * 用户发起金额 (Amount)
     */
    @Excel(name = "Amount", width = 13)
    private BigDecimal requestAmount;

    /**
     * 银行手续费
     */
    @Excel(name = "Bank Fee", width = 10)
    private BigDecimal bankFee;

    /**
     * 资讯（整合了Note和Postscript）
     */
    @Excel(name = "Info", isWrap = true, width = 35)
    private String info;

    /**
     * VND 出款方式
     */
    @Excel(name = "Payment Type\n OTP Method", width = 15)
    private String vndPaymentMethod;

    /**
     * "讯银回传状态
     * 1.Pending–等待机器人跑
     * 2.Processing–机器人正在跑
     * 3.Completed–成功交易
     * 4.Manual process–失败后的手动操作 \n 人工可操作成成功或失败（如果交易试成功的）
     * 5.Failed–失败, 不可更改状态
     * BS200"
     */
    @Excel(name = "Status", width = 23, replace = {"Pending–等待机器人跑 _1", "Processing–机器人正在跑 _2", "Completed–成功交易 _3"
            , "Manual process–失败后的手动操作 \\n 人工可操作成成功或失败（如果交易试成功的）_4", "Failed–失败, 不可更改状态 _5"}, isWrap = true)
    private Integer status;

    /**
     * 讯银步骤
     */
    @Excel(name = "Step", width = 17)
    private String step;

    /**
     * 创建时间
     */
    @Excel(name = "Created", width = 23, exportFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createdAt;

    /**
     * 更新时间
     */
    @Excel(name = "Updated", width = 23, exportFormat = "yyyy-MM-dd HH:mm:ss")
    private Date updatedAt;

    /**
     * 创建人员
     */
    @Excel(name = "Created By", width = 13)
    private String creator;

    /**
     * 更新人员
     */
    @Excel(name = "Updated By", width = 13)
    private String updater;

    /**
     * 迅银回传当前状态（文字）
     */
    @Excel(name = "Message", width = 9)
    private String message;

    /**
     * 成功
     */
    @Excel(name = "Success", width = 9)
    private String success;

}
